<?php

/**
 * Проверка прав доступа к именованному объекту
 *
 * @param string $mod
 * @param string $obj_name
 * @param string $do
 * @param int $usr_id
 */
function access_isaccess2nameobj($mod,$obj_code,$do,$usr_id)
{

	// Создаем объект с данными запроса
	$obj = new access_data_permission();
	$obj->dsetUser($usr_id);
	$obj->dsetNamedObj($mod,$obj_code);
	$obj->dsetDo($do);
	
	// Вып.олняем запрос
    $Processor = mst_getdatemod('access','Processor');
	$res = $Processor->query('isAccess',$obj);
	if (sharpobj_iserror($res))
	{
	    return false;
	}
	return $res;
}

/**
 * Проверка прав доступа к именованному объекту
 *
 * @param string $mod
 * @param string $obj_name
 * @param string $do
 */
function access_isaccess2nameobj_mauth($mod,$obj_code,$do)
{
    mst_initmod('mauth');
    if (!($usr_id = mauth_this_id()))
    {
        return false;
    }
	// Создаем объект с данными запроса
	$obj = new access_data_permission();
	$obj->dsetUser($usr_id);
	$obj->dsetNamedObj($mod,$obj_code);
	$obj->dsetDo($do);
	
	// Выполняем запрос
    $Processor = mst_getdatemod('access','Processor');
	$res = $Processor->query('isAccess',$obj);
	if (sharpobj_iserror($res))
	{
	    return false;
	}
	return $res;
}

/**
 * Проверка прав доступа к  объекту
 *
 * @param string $mod
 * @param string $obj_name
 * @param string $do
 * @param int $usr_id
 */
function access_isaccess2item($item_type,$item_id,$do,$usr_id)
{

	// Создаем объект с данными запроса
	$obj = new access_data_permission();
	$obj->dsetUser($usr_id);
	$obj->dsetItem($item_type,$item_id);
	$obj->dsetDo($do);
	
	// Вып.олняем запрос
    $Processor = mst_getdatemod('access','Processor');
	$res = $Processor->query('isAccess',$obj);
	if (sharpobj_iserror($res))
	{
	    return false;
	}
	return $res;
}

/**
 * Проверка прав доступа к объекту
 *
 * @param string $mod
 * @param string $obj_name
 * @param string $do
 */
function access_isaccess2item_mauth($item_type,$item_id,$do)
{
    mst_initmod('mauth');
    if (!($usr_id = mauth_this_id()))
    {
        return false;
    }
    
	// Создаем объект с данными запроса
	$obj = new access_data_permission();
	$obj->dsetUser($usr_id);
	$obj->dsetItem($item_type,$item_id);
	$obj->dsetDo($do);
	
	// Вып.олняем запрос
    $Processor = mst_getdatemod('access','Processor');
	$res = $Processor->query('isAccess',$obj);
	if (sharpobj_iserror($res))
	{
	    return false;
	}
	return $res;
}
?>